class Person{
  String name;
  int age;

  Person(this.name, this.age);
  Person.xxx(this.name, this.age);

  void printInfo() {
    print('${this.name} --- ${this.age}');
  }
}

// 使用extend关键字实现继承
class Web extends Person{

  //父类默认构造方法
  Web(super.name, super.age);

  //父类命名构造方法
  Web.xxx(super.name, super.age) : super.xxx();

  @override
  void printInfo() {
    print('子类复写父类方法 -- ${this.name} --- ${this.age}');
  }

  void work(){
    //通过super可以调用父类的方法和字段
    super.printInfo();
    print('子类调用父类方法');
  }
}


void main(){
  Web w = new Web('张三', 18);
  w.printInfo();
  w.work();
}